package com.yanqu.road.logic.bussiness.player;

import com.yanqu.road.dao.impl.activity.climbtower.*;
import com.yanqu.road.entity.activity.climbtower.*;

import java.util.LinkedList;
import java.util.List;
import java.util.Map;

public class ClimbTowerActivityBussiness {

    public static List<ClimbTowerLevelInfo> getLevelInfoList(int tmpActivityId) {
        return new ClimbTowerConfigDaoImpl().getClimbTowerLevelInfoList(tmpActivityId);
    }

    public static List<ClimbTowerTemplateInfo> getTemplateInfoList(int tmpActivityId) {
        return new ClimbTowerConfigDaoImpl().getClimbTowerTemplateInfoList(tmpActivityId);
    }

    public static List<ClimbTowerRoleInfo> getRoleInfoList(int tmpActivityId) {
        return new ClimbTowerConfigDaoImpl().getClimbTowerRoleInfoList(tmpActivityId);
    }

    public static List<ClimbTowerMultipleInfo> getMultipeInfoList(int tmpActivityId) {
        return new ClimbTowerConfigDaoImpl().getClimbTowerMultipleInfoList(tmpActivityId);
    }

    public static List<ClimbTowerEventInfo> getEventInfoList(int tmpActivityId) {
        return new ClimbTowerConfigDaoImpl().getClimbTowerEventInfoList(tmpActivityId);
    }

    public static boolean addUserClimbTowerData(UserClimbTowerData userData) {
        return new UserClimbTowerDataDaoImpl().add(userData);
    }

    public static boolean updateUserClimbTowerData(UserClimbTowerData userData) {
        return new UserClimbTowerDataDaoImpl().update(userData);
    }

    public static UserClimbTowerData getUserClimbTowerData(long userId, int activityId) {
        return new UserClimbTowerDataDaoImpl().getUserClimbTowerData(activityId, userId);
    }

    public static Map<Integer, List<ClimbTowerDrawNoticeData>> getClimbTowerDrawNoticeData(List<Integer> activityList) {
        return new ClimbTowerDrawNoticeDataDaoImpl().getClimbTowerDrawNoticeData(activityList);
    }

    public static boolean addClimbTowerDrawNoticeData(ClimbTowerDrawNoticeData data) {
        return new ClimbTowerDrawNoticeDataDaoImpl().add(data);
    }

    public static boolean updateClimbTowerDrawNoticeData(ClimbTowerDrawNoticeData data) {
        return new ClimbTowerDrawNoticeDataDaoImpl().update(data);
    }

    public static Map<Integer, Map<Integer, ClimbTowerTopData>> getClimbTowerTopData(List<Integer> activityList) {
        return new ClimbTowerTopDataDaoImpl().getClimbTowerTopData(activityList);
    }

    public static boolean addClimbTowerTopData(ClimbTowerTopData data) {
        return new ClimbTowerTopDataDaoImpl().add(data);
    }

    public static boolean updateClimbTowerTopData(ClimbTowerTopData data) {
        return new ClimbTowerTopDataDaoImpl().update(data);
    }

    public static LinkedList<UserClimbTowerTopClimbRecord> getUserClimbTowerTopClimbRecordList(long userId, int activityId, int maxCount) {
        return new UserClimbTowerTopClimbRecordDaoImpl().getUserClimbTowerTopClimbRecordList(activityId, userId, maxCount);
    }

    public static boolean addUserClimbTowerTopClimbRecord(UserClimbTowerTopClimbRecord data) {
        return new UserClimbTowerTopClimbRecordDaoImpl().add(data);
    }
}
